#ifndef __UART_H
#define __UART_H

#ifdef __cplusplus
extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "stm32f1xx_hal.h"
#include <stdio.h>
#include <stdint.h>

/* Exported types ------------------------------------------------------------*/
typedef void (*UART_RxCallback)(uint8_t *data, uint16_t size);

/* Exported constants --------------------------------------------------------*/
#define UART_RX_BUFFER_SIZE 256
#define UART_TX_BUFFER_SIZE 256

/* Exported macro ------------------------------------------------------------*/
/* Exported functions ------------------------------------------------------- */
void UART_Init(void);
void UART_SendString(const char *format, ...);

/* Private defines -----------------------------------------------------------*/
#ifdef __cplusplus
}
#endif

#endif /* __UART_H */
